10 REM CHESS BOARD 1.5 20 GOSUB20000 30 PRINT"[147][144]";:POKE53280,1:POKE53281,1 1000 GOSUB9000 1100 GOSUB8500 1200 GOSUB11000 1300 L$=LEFT$(T$,2):GOSUB12000 1310 IFF<>0THEN1400 1320 PRINT:PRINT"SORRY, NO PIECE THERE." 1330 FORI=1TO1000:NEXT:GOTO1200 1400 D$(F)=RIGHT$(T$,2) 1405 FORI=1TO10 1410 F$=LEFT$(T$,2):D=D(F) 1420 GOSUB8000 1430 F$=RIGHT$(T$,2):D=0 1440 GOSUB8000 1450 F$=LEFT$(T$,2):D=0 1460 GOSUB8000 1470 F$=RIGHT$(T$,2):D=D(F) 1480 GOSUB8000 1490 NEXT 1500 GOTO1200 7999 END 8000 REM SETUP A PIECE 8040 T=ABS(D):IFD<0THENT=T+9 8050 Q$=P$(T) 8080 X=ASC(F$)-64:Y=VAL(RIGHT$(F$,1)) 8100 G=X+Y 8120 R$="" 8140 IFG/2<>INT(G/2)THENR$="" 8160 PRINTLEFT$(D$,4+2*(8-Y));SPC(4+(4*(X-1)));R$;Q$;"[146]" 8200 RETURN 8500 REM SETUP BOARD 8520 FORI=1TO34 8540 IFD$(I)=""THEN8600 8550 F$=D$(I):D=D(I) 8570 GOSUB8000 8600 NEXT 8650 RETURN 9000 PRINT" CHESS FOR TWO" 9003 PRINT" A B C D E F G H " 9005 PRINT" [166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166]" 9010 FORI=1TO4 9020 FORJ=1TO2 9025 A$=" " 9030 IFJ=2THENA$=CHR$(58-2*I) 9040 PRINT" "A$" [166]"; 9050 FORK=1TO4:PRINT" [146] ";:NEXT 9060 PRINT"[166] "A$ 9070 NEXT 9080 FORJ=1TO2 9085 A$=" " 9090 IFJ=2THENA$=CHR$(57-2*I) 9100 PRINT" "A$" [166]"; 9110 FORK=1TO4:PRINT"  [146]";:NEXT 9120 PRINT"[166] "A$ 9130 NEXT 9140 NEXT 9150 PRINT" [166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166]" 9155 PRINT" A B C D E F G H " 9160 RETURN 10000 REM WINKING GET 10010 PRINT"[166][157]"; 10020 FORI=1TO50 10030 GETS$:IFS$<>""THEN10100 10040 NEXT 10050 PRINT" [157]"; 10060 FORI=1TO50 10070 GETS$:IFS$<>""THEN10100 10080 NEXT 10090 GOTO10010 10100 PRINT" [157]"; 10140 RETURN 11000 REM GETS A MOVE 11010 PRINTD$;E$:PRINTE$;D$"ENTER MOVE? "; 11015 T$="" 11020 FORJ=1TO4 11030 GOSUB10000 11040 S=ASC(S$) 11050 IF(J=1ORJ=3)AND(S<65ORS>72)THEN11200 11060 IF(J=2ORJ=4)AND(S<49ORS>56)THEN11200 11080 PRINTS$;:T$=T$+S$ 11090 NEXT 11100 PRINT" OK, (HIT RETURN)" 11110 GOSUB10000 11120 IFS$<>CHR$(13)THEN11010 11180 RETURN 11200 PRINT:PRINT"BAD ENTRY, TRY AGAIN"; 11210 FORI=1TO1000:NEXT 11220 GOTO11010 12000 REM CHECK PIECE 12010 F=0 12020 FORI=1TO34 12030 IFD$(I)=L$THENF=I 12040 NEXT 12050 RETURN 20000 DIM P$(18),D(34),D$(34) 20010 FORI=0TO18:READ P$(I):NEXT 20020 FORI=1TO34:READ D(I),D$(I):NEXT 20030 D$="":FORI=1TO21:D$=D$+"":NEXT 20040 FORI=1TO39:E$=E$+" ":NEXT 20050 FORI=1TO39:E$=E$+"[157]":NEXT 21000 RETURN 30000 REM PIECE DATA 30005 DATA" [157][157][157][157] " 30010 DATA" [178][178] [157][157][157][157] [202][203] " 30020 DATA" [205][164][206][157][157][157][157][167][206] " 30030 DATA"[167] [206][165][157][157][157][157][167][206][205][165]" 30040 DATA"" 30050 DATA" [204][186] [157][157][157][157][167][176][174][165]" 30060 DATA"" 30070 DATA"" 30080 DATA" [204][186] [157][157][157][157][206][214][214][205]" 30090 DATA" [204][186] [157][157][157][157][167][219][219][165]" 30110 DATA" [213][201] [157][157][157][157] [177][177] " 30120 DATA" [206][165][157][157][157][157][206][163][205] " 30130 DATA"[167][205][206][165][157][157][157][157][167][206] [165]" 30140 DATA"" 30150 DATA"[167][173][189][165][157][157][157][157] [207][208] " 30160 DATA"" 30170 DATA"" 30180 DATA"[205][214][214][206][157][157][157][157] [207][208] " 30190 DATA"[167][219][219][165][157][157][157][157] [207][208] " 31000 REM BOARD DATA 31010 DATA 1,A7, 1,B7, 1,C7, 1,D7, 1,E7, 1,F7, 1,G7, 1,H7 31020 DATA 2,B8, 2,G8 31030 DATA 3,C8, 3,F8 31050 DATA 5,A8, 5,H8 31080 DATA 8,D8, 8,"" 31090 DATA 9,E8 31110 DATA -1,A2,-1,B2,-1,C2,-1,D2,-1,E2,-1,F2,-1,G2,-1,H2 31120 DATA -2,B1,-2,G1 31130 DATA -3,C1,-3,F1 31150 DATA -5,A1,-5,H1 31180 DATA -8,D1,-8,"" 31190 DATA -9,E1